import json
import pandas as pd
import os

def json_to_excel(json_file_path):
    """
    将JSON文件转换为Excel文件

    参数:
    json_file_path (str): JSON文件的路径

    功能:
    - 读取JSON文件
    - 将JSON数据转换为pandas DataFrame
    - 将DataFrame保存为Excel文件,保持输入文件同名,输出xlsx格式
    """
    try:
        # 读取JSON文件
        with open(json_file_path, 'r', encoding='utf-8') as file:
            data = json.load(file)

        # 将JSON数据转换为DataFrame
        df = pd.DataFrame(data)

        # 生成输出Excel文件路径,保持同名,改为xlsx格式
        excel_file_path = os.path.splitext(json_file_path)[0] + '.xlsx'

        # 将DataFrame保存为Excel文件
        df.to_excel(excel_file_path, index=False, engine='openpyxl')

        print(f"Excel文件已保存: {excel_file_path}")
    except Exception as e:
        print(f"发生错误: {str(e)}")

if __name__ == "__main__":
    json_file = input("请输入JSON文件路径: ")
    json_to_excel(json_file)
